<?php
namespace Admin\Controller;
use Think\Controller;
class AttrController extends CommonController {
    public function lst(){
		$mod=D('attr');
		$count      = $mod->where(array('type_id'=>I('typeid')))->count();// 查询满足要求的总记录数
		$Page       = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数(25)
		$Page->setConfig('first','首页');
		$Page->setConfig('prev','上一页');
		$Page->setConfig('next','下一页');
		$Page->setConfig('end','共有{%TOTAL_PAGE%}页');
		$show       = $Page->show();// 分页显示输出// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
		$lis= $mod->where(array('type_id'=>I('typeid')))->limit($Page->firstRow.','.$Page->listRows)->select();
		$this->assign('lis',$lis);// 赋值数据集
		$this->assign('page',$show);// 赋值分页输出
		$typeres=M('type')->select();//获得所有的商品类型值
		$this->assign('typeres',$typeres);
		$typeid=I('typeid');
		
		$this->assign('typeid',$typeid);
		$this->display();
	}
	
	
	public function del($typeid){
		$mod=D('attr');
		if($mod->delete(I('id'))){
			$this->success("删除属性成功！",U('lst',array('typeid'=>$typeid)));
		}else{
			$this->error("删除属性失败！");
		}
	}
	

	
	public function add($typeid) {
				$mod = M('attr'); //实例化数据库
				if (IS_POST) {
						if (!empty($_FILES)) {
								$upload = new \Think\Upload(); // 实例化上传类
								$upload->savePath  =      './Public/Uploads/attr/'; // 设置附件上传目录
								$upload->rootPath  =      './'; // 设置附件上传目录	
								$upload->maxSize   =     3145728 ;// 设置附件上传大小
								$upload->autoSub   =     false;// 设置附件上传大小
								$info = $upload->uploadOne($_FILES['attr_logo']); //uploadOne是上传单个文件的方法
								if (!$info) { //判断文件是否上传成功
											$this->error($upload->getError()); //没有成功显示上传失败的信息，$upload->getError()显示上传失败信息的方法
								} else {
											//拼装文件路径/文件名
								$imginfo = $info['rootPath'] . $info['savepath'] . $info['savename']; // 上传成功 获取上传文件信息，拼接好的图片可以用这个格式，模板里面用__PUBLIC__带文件路径即可。
								$_POST['attr_logo'] = $imginfo; //POST的是goods_big_img数据表名，否则create()收集不到数据
								//制作缩略图
								$image = new \Think\Image(); //实例化类库
								$srcimg = $upload->rootPath . $imginfo; //因为__PUBLIC__常量不能在控制器使用，可以换为用upload()方法调用rootPath生成，$upload->rootPath = __PUBLIC__。
								$image->open($srcimg); //打开图片文件
								$image->thumb(100, 40)->save($imginfo); //按照原图的比例生成一个最大为150*150的缩略图，并存到指定的路径
								$_POST['attr_logo'] = $imginfo; //让数据获取到小图信息，并存到数据库
								}
						}
				$mod->create(); //收集post表单数据
				$str = $mod->add(); //添加数据
				if ($str) {
					
							$this->success('属性添加成功！', U('lst',array('typeid'=>$typeid)));
				} else {
							$this -> error('属性添加失败！', U('add'));
				}
			} else {
				$typeres=M('type')->select();//获得所有的商品类型值
				$typeid=I('typeid');
				$this->assign('typeid',$typeid);
				$this->assign('typeres',$typeres);
				$this->display(); //没有POST显示空模板
			}
	}
	
	
	
	public function edit($typeid){
		$attr=M('attr');
		if(IS_POST){
			if ($_FILES['attr_logo']['tmp_name']) {
				if(I('oldLogo')){
					if(file_exists($data['oldLogo'])){
						unlink($data['oldLogo']);
					}
				}
				$upload = new \Think\Upload(); // 实例化上传类
				$upload->savePath  =      './Public/Uploads/attr/'; // 设置附件上传目录
				$upload->rootPath  =      './'; // 设置附件上传目录	
				$upload->maxSize   =     3145728 ;// 设置附件上传大小
				$upload->autoSub   =     false;// 设置附件上传大小
				$info = $upload->uploadOne($_FILES['attr_logo']); //uploadOne是上传单个文件的方法
				if (!$info) { //判断文件是否上传成功
							$_POST['attr_logo']=$list.attr_logo ;//没有成功显示上传失败的信息，$upload->getError()显示上传失败信息的方法
				} else {
							//拼装文件路径/文件名
							$imginfo = $info['rootPath'] . $info['savepath'] . $info['savename']; // 上传成功 获取上传文件信息，拼接好的图片可以用这个格式，模板里面用__PUBLIC__带文件路径即可。
							$_POST['attr_logo'] = $imginfo; //POST的是goods_big_img数据表名，否则create()收集不到数据
							//制作缩略图
							$image = new \Think\Image(); //实例化类库
							$srcimg = $upload->rootPath . $imginfo; //因为__PUBLIC__常量不能在控制器使用，可以换为用upload()方法调用rootPath生成，$upload->rootPath = __PUBLIC__。
							$image->open($srcimg); //打开图片文件
							$image->thumb(100, 40)->save($imginfo); //按照原图的比例生成一个最大为150*150的缩略图，并存到指定的路径
							$_POST['attr_logo'] = $imginfo; //让数据获取到小图信息，并存到数据库
				}
			}
			if($attr->create()){
				if($attr->save()){
					$this->success("修改属性成功！",U('lst',array('typeid'=>$typeid)));
				}else{
					$this->error("修改属性失败！");
				}
			}
			return ;
		}
		$attrs = $attr->find(I('id'));
		$typeres=M('type')->select();
		$this->assign('typeres',$typeres);
		$logo=$attrs['attr_logo'];
		$this->assign("attrs",$attrs);
		$typeid=I('typeid');
		$this->assign('typeid',$typeid);
		$this->display();
		
	}
}